/*
{{className}}.java
Copyright (C) 2010  Belledonne Communications, Grenoble, France

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

package {{packageName}};

{{#imports}}
import {{import}}
{{/imports}}

{{#doc}}
/**
    {{#lines}}
  * {{line}}
    {{/lines}}
  */
{{/doc}}
public enum {{{className}}} {
{{#values}}
    {{#doc}}
    /**
        {{#lines}}
      * {{line}}
        {{/lines}}
      */
    {{/doc}}
    {{name}}({{{value}}}){{commarorsemicolon}}

{{/values}}
    protected final int mValue;

    private {{className}} (int value) {
        mValue = value;
    }

    static public {{className}} fromInt(int value) throws RuntimeException {
        switch(value) {
        {{#values}}
        case {{{value}}}: return {{name}};
        {{/values}}
        default:
            throw new RuntimeException("Unhandled enum value " + value + " for {{className}}");
        }
    }

    public int toInt() {
        return mValue;
    }
}
